import { useState } from "react";
import { Button, Text, View } from "react-native";

// 数据和修改的数据的函数
// 数据 父子传递子组件
// 修改数据的函数 setNum 也传递给子组件！！ （函数也是普通数据中的一种）

// 子向父亲传递参数
type abc = React.Dispatch<React.SetStateAction<number>>;
export default function App(){
// let num = 10;
const [num, setNum] = useState(100);
return(
<View>
  <Text>===========</Text>
  <Child num={num} aaa={setNum}/>
  <Text>-----------</Text>
</View>
);
}
// 自组件
function Child({num, aaa}:{num:number, aaa:abc}){
  // useState 状态 -> UI才会发生改变
  const add = ()=>{
    // 修改父组件的数据
    aaa(num+1);
  };
  return(
    <View>
      <Text>Child</Text>
      <Text>子组件的数字{num}</Text>
      <Button title="增加计数" onPress={add}/>
      <Button title="增加计数" onPress={add}/>
    </View>
  );
}